package behavioral

// Notifier 通知者
type Notifier interface {
	AddListener(Listener)
	RemoveListener(Listener)
	Notify(*ObserverEvent)
}

// Listener 监听者
type Listener interface {
	DoSomething(*ObserverEvent)
	GetListenerIdentity() string
}

type eventType string

// ObserverEvent 事件
type ObserverEvent struct {
	eventType eventType // 事件类型
	msg       string    // 消息
}
